Bug 558323 – glitches when popping up combos in treeviews
authorMatthias Clasen <matthiasc@src.gnome.org>
Fri, 31 Oct 2008 18:20:07 +0000 (18:20 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Fri, 31 Oct 2008 18:20:07 +0000 (18:20 +0000)
gtk/gtkcellrenderercombo.c (gtk_cell_renderer_combo_set_property):
Don't set the model property on the combo box, since that leads
to loops.

svn path=/trunk/; revision=21740

ChangeLog
gtk/gtkcellrenderercombo.c

index a04b34074b67e47d57e88828a51fb8a20ec9c196..8a297aeed78d70a582215c47c37d7ae0ba317c33 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-10-31  Matthias Clasen  <mclasen@redhat.com>
+
+       Bug 558323 – glitches when popping up combos in treeviews
+
+       * gtk/gtkcellrenderercombo.c (gtk_cell_renderer_combo_set_property):
+       Don't set the model property on the combo box, since that leads
+       to loops.
+
 2008-10-31  Christian Dywan  <christian@imendio.com>
 
        Bug 347230 – testicontheme shortcomings
index 9fc93c8f616af662cb1f2f2a85126ba82011d5bd..941e9713bb8aa643a406d029c37fc99d3ce0eae0 100644 (file)
@@ -268,30 +268,16 @@ gtk_cell_renderer_combo_set_property (GObject      *object,
     {
     case PROP_MODEL:
       {
-       GObject *object;
         GtkCellRendererComboPrivate *priv;
 
         priv = GTK_CELL_RENDERER_COMBO_GET_PRIVATE (cell);
 
-       if (cell->model)
-         {
-            if (priv->combo)
-              gtk_combo_box_set_model (GTK_COMBO_BOX (priv->combo), NULL);
-           g_object_unref (cell->model);
-           cell->model = NULL;
-         }
-
-       object = g_value_get_object (value);
-        if (object)
-          {
-            g_return_if_fail (GTK_IS_TREE_MODEL (object));
-            g_object_ref (object);
-
-            cell->model = GTK_TREE_MODEL (object);
-            if (priv->combo)
-              gtk_combo_box_set_model (GTK_COMBO_BOX (priv->combo), cell->model);
-          }
-       break;
+        if (cell->model)
+          g_object_unref (cell->model);
+        cell->model = GTK_TREE_MODEL (g_value_get_object (value));
+        if (cell->model)
+          g_object_ref (cell->model);
+        break;
       }
     case PROP_TEXT_COLUMN:
       cell->text_column = g_value_get_int (value);
@@ -337,6 +323,7 @@ gtk_cell_renderer_combo_editing_done (GtkCellEditable *combo,
   gboolean canceled;
   GtkCellRendererComboPrivate *priv;
 
+  g_print ("combo cell editing done\n");
   cell = GTK_CELL_RENDERER_COMBO (data);
   priv = GTK_CELL_RENDERER_COMBO_GET_PRIVATE (data);